用C11T/R模塊設(shè)計及實現(xiàn)遠程無線監(jiān)測系統(tǒng)
2003/12/16 17:49:00
前言 工業(yè)現(xiàn)場、倉庫、博物館乃至居民小區(qū)等經(jīng)常需要進行多點開關(guān)量信號的監(jiān)測、報警及信號的遠傳,若采用有線方式,會有許多局限性。而采用無線模塊來進行遠程信號的傳輸,將使系統(tǒng)設(shè)計方便、快捷,特別適用于各種架線不方便的監(jiān)測區(qū)域。本文介紹的基于無線模塊的遠程監(jiān)測與報警系統(tǒng),利用單片機控制無線數(shù)傳模塊,通過無線的方式進行信號的遠程傳輸,簡單靈活,傳輸可靠,可滿足遠距離監(jiān)測和數(shù)據(jù)采集系統(tǒng)的需要。 硬件總體結(jié)構(gòu) 基于無線模塊的遠程監(jiān)測傳輸系統(tǒng)發(fā)射部分的控制器選用89C2051,主要作用是存儲檢測到的信號狀態(tài),然后通過控制發(fā)射模塊將其發(fā)送出去。接收部分的控制器選用89C51,主要作用是將接收模塊傳來的數(shù)據(jù)信息存儲并顯示。 無線收發(fā)模塊是本系統(tǒng)的核心部件,所選用的無線數(shù)傳模塊型號為C11,這是一款Jammy(捷麥)公司的產(chǎn)品,它包括一個發(fā)送模塊(縮寫為:C11T)和一個接收模塊(縮寫為:C11R),單發(fā)單收,分別與各自的控制電路相接后即可進行無線收發(fā)工作。該模塊的額定工作頻段為145.150MHz,通信速率為1200bps;通信格式采用異步通信,1個起始位,8個數(shù)據(jù)位,1個停止位,額定工作電源為DC6V。且發(fā)送椹 及接收模塊旨腳結(jié)構(gòu)完全相同。 模塊與控制器之間通信的內(nèi)容有兩類,一類是數(shù)據(jù),一類是命令。數(shù)據(jù)指的是通過無線發(fā)送和接收過程,再由接收模塊傳送給其對應(yīng)的控制器的信息。命令則是指上位機通過串口,發(fā)送給模塊讓模塊執(zhí)行一定的動作或模塊傳送給控制器報送模塊內(nèi)的一些參數(shù)或者狀態(tài)的數(shù)據(jù)信息。特別值得注意的是,當控制器向模塊傳送信息時,若傳送的信息為命令,則必須將模塊的DTR端置為邏輯“0”;若傳送的信息為數(shù)據(jù),則必須將模塊的DTR端置為邏輯“1”。控制器對無線模塊的控制是通過專用的控制指令來實現(xiàn)的,其指令非常簡單。 硬件電路設(shè)計 本文針對遠程液位進行監(jiān)測設(shè)計出一點對點無線收發(fā)監(jiān)測裝置。其以送端的檢測部分可對16路液位狀態(tài)進行檢測,液位到達警戒液位高度后,線路接通,該檢測點電平為低電平。89C2051將檢測到的形狀量狀態(tài)收集并存儲起來,然后通過控制發(fā)射模塊將其發(fā)送出去。接收端通過89C51將接收模塊傳過來的數(shù)據(jù)信息存儲并轉(zhuǎn)換后通過LED顯示。相關(guān)管理人員通過LED顯示就可以判斷液面是否到達了警戒線或者是壓不夠等。其發(fā)送端和接收端的配件電路分別如圖1和圖2所示。 其中發(fā)送電路采用了74LS245雙向總線驅(qū)動器,由于采集進來的數(shù)據(jù)流向為B A,故DIR端只有為低電平時才將數(shù)據(jù)信息采入。其中一片的使能端前接一反相器,改變P3.4電平可以使兩片74LS245交替工作。接收端采用了74FS574鎖存器,要使其正常工作,輸出使能端OC與89C51寫選通端之間要接一反相器。為了以后大規(guī)模接收的需要,可以采用LED點陣顯示,利用3—8譯碼器進行擴展選通每一列掃描線。發(fā)送端和接收端電路都采用了Maxim公司的MAX813看門狗,以防止程序跑飛。本系統(tǒng)可以監(jiān)測16路信號,假如檢測輸入部分通道不夠的話, 可以通過在發(fā)送端選用其他I/O口較多的單片機并擴展I/O口來實現(xiàn)。發(fā)送和接收電路跟無線模塊引出的四條通信線直接相連,進行點對點的通信。類似地還可以采用多點發(fā)一點收的組網(wǎng)方式來對更多個檢測點進行監(jiān)測。 軟件設(shè)計 按照以上硬件電路設(shè)計,對系統(tǒng)軟件編程的基本思路是每隔2秒發(fā)送端控制器接收檢測部分傳來的狀態(tài)信息,并存儲到固定地址中后準備發(fā)送(注:此處存儲16路形狀時信號共用兩個字節(jié))。由于可能在發(fā)送過程中會有少量的誤碼產(chǎn)生,故需在接收端由控制器查詢CRC校驗結(jié)果。此外,程序設(shè)計還考慮了今后硬件檢測點增多后傳送多個字節(jié)的狀況,只需對其略加修改即可。發(fā)送和接收程序流程圖分別為如圖3和如圖4所示。 模塊初始化子程序主要是利用模塊自帶的控制指令對模塊的身份地址和目的進行調(diào)協(xié)等工作,特別注意在對模塊進行初始化時,控制器必須先將收接模塊的DTR端置“0”。發(fā)送指令時應(yīng)先發(fā)D7H,然后發(fā)送后面的命令字節(jié)??刂破魍ㄟ^串口依次發(fā)送D7H,F(xiàn)5H,××H,××H格式俱可設(shè)置身份地址;依次發(fā)送D7H,E1H,××H,××H格式俱可設(shè)置目的地址。控制器通過串口依次發(fā)送D7H,F(xiàn)5H,××H,××H格式命令可設(shè)置身份地址;依次發(fā)送D7H,E1H,××H,××H格式命令可調(diào)協(xié)目的地址。若將發(fā)減災(zāi) 模塊的身份地址設(shè)為0001,目的地址設(shè)為0002。準備無線發(fā)送數(shù)據(jù)時,發(fā)送端控制器必須先將模塊的DTR端置“1”。假如一次發(fā)送多個字節(jié),發(fā)送過程中呆能會有數(shù)據(jù)丟失現(xiàn)象。但是判斷數(shù)據(jù)丟失之前需要判斷這次發(fā)送過程是否完成了。對此在程序設(shè)計中采取超時處理的方法:發(fā) 送端每隔2秒檢測一次形狀量狀態(tài),并將檢測來的多個狀態(tài)字節(jié)存儲到固定地址中,然后開始發(fā)送。每隔5~10毫秒發(fā)送一個字節(jié),這樣全部發(fā)送完也只需幾十個毫秒的時間。接收端只要在超過這幾十個毫秒的時間后去判斷數(shù)據(jù)是否發(fā)送完,就可以知道發(fā)大獎賽客串上是否有數(shù)據(jù)丟失現(xiàn)象,按照該方法,接收端只需在第一個字節(jié)接收的同時打開定時器進行計時(發(fā)磅數(shù)據(jù)較少時,定時時間一般為100~200毫秒),此后在每次數(shù)據(jù)來臨前查詢定時器是否溢出。假如定時器沒有溢出且數(shù)據(jù)沒有完全發(fā)磅完則繼續(xù)等待接收數(shù)據(jù)。若定時器流出,程度查詢數(shù)據(jù)是否發(fā)送完,沒有發(fā)送完則表示在這次發(fā)送過程中有數(shù)據(jù)丟失,LED繼續(xù)顯示上次的狀態(tài)并等待下一次接收的到來。若是在發(fā)送過程中,接收查詢到已經(jīng)收到了預(yù)期的狀態(tài)字節(jié)個數(shù),則關(guān)閉定時器提前結(jié)束計時,轉(zhuǎn)向CRC校驗,假期校驗結(jié)果正確,則顯示這次接收的結(jié)果。若錯誤,則繼續(xù)顯示上次的狀態(tài)并等待下一次接收的到來。 發(fā)送及接受程序流程圖 結(jié)語 利用無線模塊來進行遠程多點信號監(jiān)測,方便、快捷、適用范圍廣泛?,F(xiàn)在已經(jīng)在很多領(lǐng)域得到了應(yīng)用。上述設(shè)計中所使用的無線模塊傳輸誤碼率較低,查詢 CRC校驗結(jié)果方便??刂泼詈唵?,縮短了項目開發(fā)周期。隨著技術(shù)的進步,將有更多先進的無線模塊用于以后的遠程監(jiān)測系統(tǒng)中。 參考文獻 1 程云長,陳學(xué)明.C11控制命令及用法.捷麥通信有限公司 2 李朝青.PC機及單片機數(shù)據(jù)通信技術(shù).北京:北京航空航天大學(xué)出版社.2002 3 何立民.MCS-51單片機應(yīng)用系統(tǒng)設(shè)計—系統(tǒng)配置與接口技術(shù).北京:北京航空航天大學(xué)出版社.2001
提交
查看更多評論
其他資訊
捷麥G200型GPRS模塊在煤礦安全監(jiān)控中的應(yīng)用
捷麥G200型GPRS模塊在煤礦安全監(jiān)控中的應(yīng)用
無線模塊的透明通信方式與有線連接的比較
捷麥 G200 GPRS模塊說明書
捷麥 R4011模塊用戶手冊